﻿#pragma once
#include "highgui_c.h"
#include "imgproc_c.h"
#include "stdio.h"
class MyGrayImage
{
public:
	MyGrayImage(void);
	MyGrayImage(IplImage*img);
	~MyGrayImage(void);
	
public:
	IplImage *grayImg;
private:
	float grayHist[256];

	int grayHistInt[256];
public:
	//Hàm vẽ histogram cho ảnh xám
	IplImage *DrawHistogram(float colWidth,float maxHeight);

	//Hàm giãn độ tương phản Basic
	IplImage *StretchContrastBasic(int c, int d);

	//Hàm giãn độ tương phản cải tiến 1
	IplImage *StretchContrastAdvance1(int c, int d);

	//Hàm giãn độ tương phản cải tiến 2
	IplImage *StretchContrastAdvance2(int c, int d);
private:
	//Hàm tính histogram cho ảnh xám
	void CalcHist();
	//Hàm tìm giá trị lớn nhất của Histogram
	float MaxOfHist();
	//Hàm chuyển từ ảnh màu sang ảnh xám
	void RGB2Gray(IplImage *img);
};
